Verifying that software does not contain backdoors, vulnerabilities, or other unintended or malicious behavior is a very difficult task. Although no method can automatically detect all possible problems, the goal is to automatically analyze software behavior by a machine, with suspicious sections being passed on to a human for further inspection.